package com.sas.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.sas.entity.User;



/**
 * 用户基本信息DAO
 * 2017-11-20
 * @author 胡其安
 * 
 */
public interface UserService {
	/**
	 * 根据账号密码查询用户 判断是否正确
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public User select_user_bypass(User user) throws Exception;// 根据账号密码查询用户
																// 判断是否正确

	/**
	 * 根据id查询用户信息
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public User select_user_byid(User user) throws Exception;// 根据id查询用户信息

	/**
	 * 分页查询
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public List<User> query_page_user_list(Map user)throws Exception;// 分页查询

	/**
	 * 根据id更新用户信息
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public int update_user_byid(User user)throws Exception;// 根据id更新用户信息

	/**
	 * 插入用户信息
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public int insert_user(User user)throws Exception;// 插入用户信息

	/**
	 * 领导查询部门人数
	 * 
	 * @param map
	 * @return
	 * @throws Exception
	 */
	public int selectCountUser(Map map)throws Exception;// 领导查询该部门人数

	/**
	 * 查询用户是否存在
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public boolean selectUserIsexists(User user)throws Exception;// 查询用户是否存在

	/**
	 * 根据账号密码查询
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public User select_user_by_login_name(User user)throws Exception;// 根据账号密码查询

	/**
	 * 建立员工部门关系表
	 * 
	 * @param map
	 * @return
	 * @throws Exception
	 */
	public boolean insert_dept_emp(HashMap map)throws Exception;// 建立员工部门关系表

	/**
	 * 根据员工id查询部门id
	 * 
	 * @param user_id
	 * @return
	 * @throws Exception
	 */
	public int select_deptId_by_UserId(int user_id)throws Exception;// 根据员工id查询部门id

	/**
	 * 根据用户id删除用户信息
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public boolean detele_user_by_userid(User user)throws Exception;// 根据用户id删除用户信息

	/**
	 * 删除用户之后删除用户部门关系表的关联
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public boolean delete_dept_emp_by_userid(User user)throws Exception;// 删除用户之后删除用户部门关系表的关联

	/**
	 * 根据用户id查询领导信息
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public User selectManager_byuserId(User user)throws Exception;// 根据用户id查询领导信息
}
